As a means for providing information to a user, a computer program, operating on a computer system, displays textual and graphical information on an output display. The textual and graphical information may be displayed in a variety of forms. For example, a display may include graphics as well as some textual data displayed within the graphics. Also, in a computer system that operates in a windows system environment, the display of the textual and graphical information is often confined within a specific window.
One problem associated with displaying textual and graphical information is the spacing among different portions of the text and/or graphics as well as the layout or spacing within the window. FIG. 1a illustrates an example display form that includes both textual and graphical data. Specifically, an example form includes a rectangle with rounded edges that further includes text and two rectangles. Furthermore, the rectangles contain text. Also, the bottom of the example form includes two rectangles, wherein each rectangle contains text. For the example form, there are several geometric constraints or requirements for properly rendering the form. For example, the text "Name:" and "Type:" are contained within the outer rounded edged rectangle, and the text "Bob Smith" and "preferred" are contained within the inner rectangles. Similarly, the text "cancel" and "OK" are bounded within rectangles.
Typically, to generate such a form, a user, through use of a form building program, specifies these geometric relationships. However, as any number of factors change, the spacing of both the text and graphics may also change. If this occurs, the user is required to re-layout the form to accommodate the change. For example, if the form is rendered using a different text string (e.g. a foreign language), then the spacing of the text within the rectangular boxes may become skewed. FIG. 1b illustrates the example form of FIG. 1a with the text in the form changed to a different font. As shown in FIG. 1b, the form requires re-layout because the rectangular boxes encapsulating the text are no longer large enough for the text. Because many factors that affect the spacing of a display may change, it is desirable to provide a system that manages the layout displays. The ability to coordinate the spatial relationships among textual and graphical objects in a display is known as geometry management.